package com.sugon.service;

import com.sugon.entity.DevFaultPreventMeasure;
import com.sugon.entity.DevRepairRecordEntity;

import java.util.List;
import java.util.Map;

/**
 * 设备故障预防措施Service接口
 *
 * @author YuXD
 * @date 2023-04-05
 */
public interface DevFaultPreventMeasureService {

    /**
     * 删除针对指定维修工单制定的预防措施
     * 1、先删除对应的设备维护工单
     * 2、然后删除对应的预防措施
     *
     * @param repairTicketId 维修工单ID
     * @return
     */
    boolean deleteByRepairTicketId(String repairTicketId);

    /**
     * 分页查询
     *
     * @param map 参数
     * @return list
     */
    List<DevFaultPreventMeasure> queryList(Map<String, Object> map);

    /**
     * 分页统计总数
     *
     * @param map 参数
     * @return 总数
     */
    int queryTotal(Map<String, Object> map);

    /**
     * 制定预防措施
     *
     * @param repairRecord 维修记录
     * @param measureList  预防措施列表
     */
    void formulatePreventMeasure(DevRepairRecordEntity repairRecord, List<DevFaultPreventMeasure> measureList);

    /**
     * 查询指定维修工单下已制定的设备故障预防措施
     *
     * @param repairTicketId 维修工单ID
     * @return
     */
    List<DevFaultPreventMeasure> queryByRepairTicketId(String repairTicketId);

    /**
     * 保存预防措施
     *
     * @param preventMeasure
     * @return
     */
    boolean save(DevFaultPreventMeasure preventMeasure);

    /**
     * 更新预防措施
     *
     * @param preventMeasure
     * @return
     */
    boolean update(DevFaultPreventMeasure preventMeasure);

}
